package solicitudes.dao;

import java.util.List;

import solicitudes.entity.Producto;
import solicitudes.exception.DaoException;

/***
 * 
 * @author MARIA ALEJANDRA CELEMIN R.
 * @version 1.0
 * 
 * Interfaz de acceso a datos de la tabla Producto
 *
 */

public interface DAOProducto {
	/**
	 * Metodo que devuelve un listado con todos los Productos
	 * que actualmente se encuentran en la base de datos
	 * @return Listado de entidades de tipo Producto
	 */
	public List<Producto> obtenerProductos() throws DaoException;
	
	/**
	 * Metodo que devuelve un Producto a partir de su clave primaria (codProducto)
	 * @param codProducto tipo Integer que identifica al Producto
	 * @return Instancia del Producto
	 */
	public Producto obtenerProducto(Integer codProducto) throws DaoException;
	
	
	/**
	 * Metodo que permite persistir un Producto en la base de datos
	 * @param producto Instancia del Producto a persistir
	 */
	public void guardarProducto(Producto producto);
	
	/**
	  * Metodo que permite eliminar un Producto de la base de datos
	  * @param producto Instancia del Producto a eliminar
	  */
	 public void eliminarProducto(Producto producto);
	 
	 /**
	  * Metodo que permite persistir un Producto ya existente en la base de datos
	  * @param producto Instancia del Producto a persistir
	  */
	 public void editarProducto(Producto producto);
	 
}
